package cn.lumora.core.security.rea;

import org.springframework.stereotype.Component;

import java.security.KeyPair;
import java.security.KeyPairGenerator;

/**
 * RSA密钥生成器，用于生成符合安全要求的RSA密钥对
 */
@Component
public class RSAKeyGenerator {

    /**
     * 生成指定长度的RSA密钥对
     * 
     * @return 生成的密钥对
     * @throws Exception 如果生成失败
     */
    public KeyPair generateKeyPair() throws Exception {
        // 获取RSA算法的KeyPairGenerator实例
        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
        
        // 初始化密钥生成器，设置密钥长度为2048位，满足当前安全标准
        kpg.initialize(2048);
        
        // 生成并返回密钥对
        return kpg.generateKeyPair();
    }
}
